<%@ page import="entity.User" %>
<%@ page import="java.util.List" %>
<%@ page import="entity.Address" %>
<%@ page import="java.util.ArrayList" %><%--
  Created by IntelliJ IDEA.
  User: ASUS
  Date: 2021/11/30
  Time: 17:08
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>JSTL</title>
</head>
<body>
<%--    一系列标签，使用这些标签可以循环遍历集合，让代码更简洁--%>
<%--    JSTL用于逻辑处理，EL用于展示数据，结合使用
        1、导入jar包  jstl.jar  standard.jar
--%>


<%--    <tr>--%>
<%--        <th>编号</th>--%>
<%--        <th>姓名</th>--%>
<%--        <th>成绩</th>--%>
<%--        <th>地址</th>--%>
<%--    </tr>--%>
<%--    <br/>--%>

<%--    <c:forEach items="${list}" var="user">--%>
<%--        <tr>--%>
<%--            <td>${user.id}</td>--%>
<%--            <td>${user.name}</td>--%>
<%--            <td>${user.score}</td>--%>
<%--            <td>${user.address.value}</td>--%>
<%--        </tr>--%>
<%--        <br/>--%>
<%--    </c:forEach>--%>


<%--        set：向域对象中添加数据 （修改域对象中的值）    --%>
<%--    <c:set var="name" value="tom"></c:set>--%>
<%--    ${name}--%>

<%--    <%--%>
<%--        User user = new User(1,"三团",66.6,new Address(1,"科技路"));--%>
<%--        request.setAttribute("user",user);--%>
<%--    %>--%>
<%--    ${user.name}--%>
<%--    <c:set target="${user}" property="name" value="李四"></c:set>--%>
<%--    ${user.name}--%>


<%--    out：输出域对象中的值    --%>
<%--    <c:set var="name" value="tom"></c:set>--%>
<%--    <c:out value="${name}" default="未定义"></c:out> &lt;%&ndash; 当没有数据可取时，可以写一个默认值&ndash;%&gt;--%>

<%--    remove：删除域对象中的数据    --%>
<%--    <c:set var="name" value="tom"></c:set>--%>
<%--    <c:out value="${name}" default="未定义"></c:out>--%>
<%--    <hr/>--%>
<%--    <c:remove var="name" scope="page"></c:remove>--%>
<%--    <c:out value="${name}" default="未定义"></c:out>--%>


<%--    catch：捕获异常  --%>
<%--    <c:catch var="error">--%>
<%--        <%--%>
<%--            int a = 10/0;--%>
<%--        %>--%>
<%--    </c:catch>--%>
<%--    ${error}--%>

<%--    <c:set var="num1" value="1"></c:set>--%>
<%--    <c:set var="num2" value="3"></c:set>--%>
<%--    <c:if test="${num1>num2}">ok</c:if>--%>
<%--    <c:if test="${num1<num2}">fail</c:if>--%>
<%--    <hr/>--%>
<%--    <c:choose>--%>
<%--        <c:when test="${num1>num2}">ok</c:when>--%>
<%--        <c:otherwise>fail</c:otherwise>--%>
<%--    </c:choose>--%>


    <%
        List<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("e");
        list.add("f");
        list.add("g");
        list.add("h");
        request.setAttribute("list",list);
    %>
<%--   <c:forEach items="${list}" var="str" begin="2" end="5"> &lt;%&ndash;  从下标为2截取到下标为5&ndash;%&gt;--%>
<%--    <c:forEach items="${list}" var="str" step="2">  &lt;%&ndash;    每次跳2步   &ndash;%&gt;--%>
    <c:forEach items="${list}" var="str" varStatus="sta">
        ${sta.index}.${str} <br/>
    </c:forEach>

</body>
</html>
